package br.museu.negocio.interfaces;

import java.util.List;

import br.museu.excessoes.CampoObrigatorioException;
import br.museu.excessoes.LoginJaCadastradoException;
import br.museu.excessoes.ObjetoNaoEncontradoException;
import br.museu.excessoes.SenhaInvalidaException;
import br.museu.excessoes.UsuarioInvalidoException;
import br.museu.model.Evento;
import br.museu.model.Usuario;

public interface IUsuarioNegocio {

	public Usuario loginUsuario(String login, String senha) throws CampoObrigatorioException, ObjetoNaoEncontradoException;

	public void cadastrarUsuario(Usuario usuario) throws UsuarioInvalidoException, LoginJaCadastradoException, SenhaInvalidaException;

	public void deletarUsuario(Usuario usuario);

	public List<Usuario> listarUsuarios();

	public List<Usuario> listarUsuariosEvento(Evento evento);

	public void alterarUsuario(Usuario usuario, String senha, String nome, String dtNascimento, String senhaConfirm) throws SenhaInvalidaException;

}
